package com.chj.security;

import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Component;

import com.chj.entity.UserInfo;
import com.chj.mock.UserInfoMock;

@Component
public class CustomUserDetailsService implements UserDetailsService {
	// @Autowired
	// 数据库服务类
	// private SUserService suserService;

	@Override
	public UserDetails loadUserByUsername(String userName) throws UsernameNotFoundException {
		// SUser对应数据库中的用户表，是最终存储用户和密码的表，可自定义
		// 本例使用SUser中的email作为用户名:
		UserInfo user = UserInfoMock.getUser(userName);
		if (user == null) {
			throw new UsernameNotFoundException("UserName " + userName + " not found");
		}
		// SecurityUser实现UserDetails并将SUser的Email映射为username
		SecurityUser securityUser = new SecurityUser(user);
		return securityUser;

	}

}
